Skip to content

[pull] master from aio-libs:master - #737

Merged
pull[bot] merged 1 commit into
tj-python:masterfrom
aio-libs:master
Aug 27, 2026
Merged

[pull] master from aio-libs:master#737
pull[bot] merged 1 commit into
tj-python:masterfrom
aio-libs:master

Conversation

@pull

@pull pull Bot commented Aug 27, 2026

Copy link
Copy Markdown

See Commits and Changes for more details.


Created by pull[bot] (v2.0.0-alpha.4)

Can you help keep this open source service alive? 💖 Please sponsor : )

Bumps [filelock](https://github.com/tox-dev/py-filelock) from 3.32.3 to
3.32.4.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/tox-dev/py-filelock/releases">filelock's
releases</a>.</em></p>
<blockquote>
<h2>3.32.4</h2>
<!-- raw HTML omitted -->
<h2>What's Changed</h2>
<ul>
<li>🐛 fix: retry transient denials on open and claim read by <a
href="https://github.com/gaborbernat"><code>@​gaborbernat</code></a> in
<a
href="https://redirect.github.com/tox-dev/filelock/pull/705">tox-dev/filelock#705</a></li>
<li>🧪 test: deflake six scheduled-run failures by <a
href="https://github.com/gaborbernat"><code>@​gaborbernat</code></a> in
<a
href="https://redirect.github.com/tox-dev/filelock/pull/704">tox-dev/filelock#704</a></li>
<li>🧪 test: cover a reclaimed private record for real by <a
href="https://github.com/gaborbernat"><code>@​gaborbernat</code></a> in
<a
href="https://redirect.github.com/tox-dev/filelock/pull/706">tox-dev/filelock#706</a></li>
<li>🧪 test(fork): fork once the event loop has closed by <a
href="https://github.com/gaborbernat"><code>@​gaborbernat</code></a> in
<a
href="https://redirect.github.com/tox-dev/filelock/pull/714">tox-dev/filelock#714</a></li>
<li>🔧 chore: batch dependency updates weekly on Tuesday by <a
href="https://github.com/gaborbernat"><code>@​gaborbernat</code></a> in
<a
href="https://redirect.github.com/tox-dev/filelock/pull/713">tox-dev/filelock#713</a></li>
<li>escape the hostname every marker publishes by <a
href="https://github.com/dxbjavid"><code>@​dxbjavid</code></a> in <a
href="https://redirect.github.com/tox-dev/filelock/pull/709">tox-dev/filelock#709</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/tox-dev/filelock/compare/3.32.3...3.32.4">https://github.com/tox-dev/filelock/compare/3.32.3...3.32.4</a></p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/tox-dev/filelock/blob/main/docs/changelog.rst">filelock's
changelog</a>.</em></p>
<blockquote>
<p>###########
Changelog
###########</p>
<p>.. towncrier-draft-entries:: Unreleased</p>
<p>.. towncrier release notes start</p>
<hr />
<p>3.32.4 (2026-08-23)</p>
<hr />
<ul>
<li><code>StrictSoftFileLock</code> always retries a claim read whose
first attempt reports the claim as pending, so a first read
that itself outlasts the retry grace no longer fails closed on a claim
it could have read. :pr:<code>705</code></li>
<li><code>WindowsFileLock</code> waits out a transient
<code>STATUS_ACCESS_DENIED</code> from <code>NtCreateFile</code> for up
to half a second
before raising <code>PermissionError</code>, since a peer unlinking the
lock file as it releases can answer that for a moment; a
real denial still fails fast. :pr:<code>705</code></li>
<li>Every lock class now escapes the hostname it publishes, so a host
whose <code>socket.gethostname()</code> carries a space, a
newline or a byte outside UTF-8 no longer writes a marker it reads back
as malformed. Such a host used to lose a held
<code>SoftReadWriteLock</code> read slot to a peer and could not take a
write slot or a <code>StrictSoftFileLock</code> at all.
:pr:<code>709</code></li>
</ul>
<hr />
<p>3.32.3 (2026-08-13)</p>
<hr />
<ul>
<li>The fork-safety audit hook no longer prints <code>Exception ignored
in audit hook</code> with a <code>TypeError</code> when an audit
event fires during interpreter shutdown, after CPython has already
cleared the module globals. :pr:<code>701</code></li>
</ul>
<hr />
<p>3.32.2 (2026-07-29)</p>
<hr />
<ul>
<li>A <code>SoftReadWriteLock</code> or <code>SoftFileLease</code>
acquire whose heartbeat thread fails to start now unlinks its marker and
hands the claim back, instead of leaving an unrefreshed marker a peer
takes while the caller believes it still holds
the lock. :pr:<code>691</code></li>
</ul>
<hr />
<p>3.32.1 (2026-07-26)</p>
<hr />
<ul>
<li>Canceling an <code>AsyncSoftReadWriteLock</code> acquire now
releases the claim instead of leaking a marker whose heartbeat
wedges every contender. :pr:<code>686</code></li>
</ul>
<hr />
<p>3.32.0 (2026-07-21)</p>
<hr />
<ul>
<li><code>SoftReadWriteLock</code> closes the directory handle it opens
to scan for readers as soon as a scan stops early, rather
than holding it until the generator is collected.
:pr:<code>685</code></li>
<li>Declare support for Python 3.15 and run the test suite against it
and its free-threaded build, both currently in beta.
:pr:<code>683</code></li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/tox-dev/filelock/commit/cb493d6684ed5d2f923384633c86fef12e29bce2"><code>cb493d6</code></a>
Release 3.32.4</li>
<li><a
href="https://github.com/tox-dev/filelock/commit/fe07a11a7133ddd104322eb79d3c59f966b4ba15"><code>fe07a11</code></a>
escape the hostname every marker publishes (<a
href="https://redirect.github.com/tox-dev/py-filelock/issues/709">#709</a>)</li>
<li><a
href="https://github.com/tox-dev/filelock/commit/232732f49ed9d230802f527ad60b5d5ad1202a56"><code>232732f</code></a>
🔧 chore: batch dependency updates weekly on Tuesday (<a
href="https://redirect.github.com/tox-dev/py-filelock/issues/713">#713</a>)</li>
<li><a
href="https://github.com/tox-dev/filelock/commit/2966eb51431ff8ac19eb2bec4e0b67c328437c48"><code>2966eb5</code></a>
🧪 test(fork): fork once the event loop has closed (<a
href="https://redirect.github.com/tox-dev/py-filelock/issues/714">#714</a>)</li>
<li><a
href="https://github.com/tox-dev/filelock/commit/61511ebc1cc5d40b28f8584f1078e63f2d63fb02"><code>61511eb</code></a>
build(deps): bump astral-sh/setup-uv from 10.0.0 to 10.0.1 (<a
href="https://redirect.github.com/tox-dev/py-filelock/issues/712">#712</a>)</li>
<li><a
href="https://github.com/tox-dev/filelock/commit/f12a52fd20c8b47ec1dc576f78f046c901772992"><code>f12a52f</code></a>
build(deps): bump astral-sh/setup-uv from 9.0.0 to 10.0.0 (<a
href="https://redirect.github.com/tox-dev/py-filelock/issues/711">#711</a>)</li>
<li><a
href="https://github.com/tox-dev/filelock/commit/54c7b6cf63c34f1dabf26ec1cc41f31035a23b24"><code>54c7b6c</code></a>
[pre-commit.ci] pre-commit autoupdate (<a
href="https://redirect.github.com/tox-dev/py-filelock/issues/710">#710</a>)</li>
<li><a
href="https://github.com/tox-dev/filelock/commit/49f8035afd047809e32d627de98d961d12379e93"><code>49f8035</code></a>
🧪 test: cover a reclaimed private record for real (<a
href="https://redirect.github.com/tox-dev/py-filelock/issues/706">#706</a>)</li>
<li><a
href="https://github.com/tox-dev/filelock/commit/bb16d396622f9edf638455b24497a1ca6981c92e"><code>bb16d39</code></a>
🧪 test: deflake six scheduled-run failures (<a
href="https://redirect.github.com/tox-dev/py-filelock/issues/704">#704</a>)</li>
<li><a
href="https://github.com/tox-dev/filelock/commit/13b82a64adf51e768d65180abe05c4934cdca934"><code>13b82a6</code></a>
🐛 fix: retry transient denials on open and claim read (<a
href="https://redirect.github.com/tox-dev/py-filelock/issues/705">#705</a>)</li>
<li>See full diff in <a
href="https://github.com/tox-dev/py-filelock/compare/3.32.3...3.32.4">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=filelock&package-manager=pip&previous-version=3.32.3&new-version=3.32.4)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
@pull pull Bot locked and limited conversation to collaborators Aug 27, 2026
@pull pull Bot added the ⤵️ pull label Aug 27, 2026
@pull
pull Bot merged commit 5889927 into tj-python:master Aug 27, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants